今天有同學提到這問題,於是以自己知道的解釋一些學校老師總是輕快帶過的東西!
(真的只是輕鬆帶過,導致大家都沒記得多少...)
網頁發出請求(Request)給Web Server,
Web Server處理請求(Request)將資料組合寫入到要呈現的文字內容(Render),
回傳(Response)給使用者的瀏覽器。
使用Request物件可以取得請求的相關資訊,如取得網頁上的QueryString(Request.QueryString["ID"])
使用Response物件可以操作回傳時的資訊,如設置Cookie(Response.Cookies)
什麼是PostBack??
常見的情況就是使用者在網頁上點擊了某個按鈕可能是送出、存檔、下一頁..等等
向伺服器發送請求取得新的更新內容並將網頁原本內容可以被獲得的資料Post上去
這就是一個PostBack的行為!!!
兩種HTTP傳送資訊取得資料結果的Method
元件上的AutoPostBacK屬性正是在設置是否產生Post請求
還有還有
最重要的isPostBack!!!
if(isPostBack)
{
//do somethings
}
在網頁上用來判別Request是否為Post
講白點就是是剛造訪網頁還是觸發網頁上的內容
針對不同情況時有不同回應或設置
利用它避免所有business logic每次都被全部運行!
好的設計就應該在對的時候做對的事情!!!!
.......To Be Continued
我寫書兩三年、講課三年多
才想到幾個好範例(有趣、驚奇)能立即讓學生搞懂 PostBack
這東西.....會不會,就看緣分了
有人馬上會,有人三年還不會 Orz
希望這些範例,能幫的上忙
輸入自己的生日(年/月/日)#3 -- 日曆(Calendar)控制項的時光跳躍,一次跳回五年、十年前?--PostBack發生的錯誤
http://www.dotblogs.com.tw/mis2000lab/archive/2014/08/06/calendar_postback_20140806.aspx
上課第一天的有趣範例 -- PostBack基礎觀念 & Page.IsPostBack
http://www.dotblogs.com.tw/mis2000lab/archive/2013/01/08/postback_q_and_a_20130108.aspx